<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>AR System Java API</title>
<style type="text/css">
<!--
.FileNameOnScreen {font-family: "Courier New", Courier, mono}
.style1 {color: #FF0000}
.style2 {color: #000000; }
.style3 {font-size: 10px}
-->
</style>
</head>

<body>

<p><img src="doc-files/bmc_logo_standard.gif" width="185" height="61"></p>
<h1>AR System Java API</h1>
<h3>Overview</h3>
<p>  The Java API is a collection of classes, interfaces, and relationships that provide full client functionality like the AR System C API in a style consistent with typical Java programming techniques. Like the C API, the Java API is forward and backward compatible with other versions of AR System. See the <em>Integration Guide </em>for information about setting up to use the Java API.</p>
<p>For product related issues or questions, contact Customer Support by e-mail at <a href="mailto:support@remedy.com">customer_support@remedy.com</a>.<br>
For questions or comments about this documentation, e-mail us at <span CLASS="byline"><a HREF="mailto:doc_feedback@bmc.com"><span STYLE="Font-Size : 12pt">doc_feedback@bmc.com</span></a></span>.</p>
<h2>  Programming model</h2>
<p>  Consistent with object-oriented design, the AR System Java API represents AR System server objects as Java objects. Classes are defined for forms, fields, menus, active link, filter, escalations, and all other objects in an AR System application. Entry objects represent entries (requests) so your Java client can manipulate AR System data as well as definitions.</p>
<p>  The following paragraphs summarize the key classes and types of classes in the API. Follow the links for details. </p>
<h3>  ARServerUser</h3>
<p>  The <a href="com/bmc/arsys/api/ARServerUser.html">ARServerUser</a> object represents the connection between your Java client program and the AR System server. It include session information such as user name, password, and server. A typical program starts by creating an ARServerUser object with user name, password, server name, and the like. Using the ARServerUser instance methods, it logs in to the AR System server; creates, gets, searches for, updates, and deletes server objects; and log out. A call to a <span class="FileNameOnScreen">get</span> method returns a server object, a call to a <span class="FileNameOnScreen">getList</span> (search) methods return a list of object identities (for example, names for forms or IDs for fields), and a call to a <span class="FileNameOnScreen">getListObjects</span> method returns a list of objects.</p>
<h3>  Server objects</h3>
<p>  The Java API includes classes for all server objects: <a href="com/bmc/arsys/api/Form.html">Form</a>, <a href="com/bmc/arsys/api/Field.html">Field</a>, <a href="com/bmc/arsys/api/View.html">View</a>, <a href="com/bmc/arsys/api/ActiveLink.html">ActiveLink</a>, <a href="com/bmc/arsys/api/Escalation.html">Escalation</a>, <a href="com/bmc/arsys/api/Filter.html">Filter</a>, <a href="com/bmc/arsys/api/Container.html">Container</a>, <a href="com/bmc/arsys/api/Menu.html">Menu</a>, <a href="com/bmc/arsys/api/Entry.html">Entry</a>, and <a href="#">SupportFile</a>. The Form, Field, Container, and Menu classes have subclasses to represent specialized types, for example, <a href="com/bmc/arsys/api/RegularForm.html">RegularForm</a>, <a href="com/bmc/arsys/api/IntegerField.html">IntegerField</a>, <a href="com/bmc/arsys/api/ApplicationContainer.html">ApplicationContainer</a>, and <a href="com/bmc/arsys/api/SqlMenu.html">SqlMenu</a>.</p>
<p>  The ARServerUser create methods create these objects. The <span class="FileNameOnScreen">get</span> and <span class="FileNameOnScreen">getListObjects</span> methods return them. Each <span class="FileNameOnScreen">set</span> method takes a server object parameter that specifies which object the server should update. For example, the ARServerUser method <span class="FileNameOnScreen">setField</span> takes a Field parameter.</p>
<h3>Cloning objects</h3>
<p>  Objects in the AR System Java API are cloneable. The <span class="FileNameOnScreen">clone</span>() method performs a deep copy of the object. A deep copy is a copy of an object that contains the complete encapsulated data of the original object, allowing it to be used independently of the original Java object. Of course, if the original Java object represents an AR System server object, the clone represent the same object.</p>
<h3>  Exception handling</h3>
<p>  Errors are modeled through the <a href="com/bmc/arsys/api/ARException.html">ARException</a> class. All error messages that are returned by the server are thrown as an ARException in the Java API.</p>
<h2>What's new in the AR System 7.6.04 Java API</h2>
<p>The following methods  are added in release 7.6.04:</p>
<table width="1152" border="1"><tr>	<td><b>Method</b></td>
    <td><b>Description</b></td></tr><tr><td width="684"><P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">boolean&nbsp;isStructAdmin()</SPAN></P></td><td width="452"><P>Checks if the user is an member of the Struct Admin group.</P></td></tr><tr><td width="684"><P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">boolean&nbsp;isStructSubadmin()</SPAN></P></td><td width="452"><P>Checks if the user is a member of the Struct Subadmin group.</P></td></tr><tr><td width="684"><P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">boolean&nbsp;isMemberOfOverlayGroup()</SPAN></P></td><td width="452"><P>Checks if the user is a member of an Overlay group. Members of overlay groups cannot perform actions on base-mode objects a client can  grey out parts of its UI accordingly. This method returns true if the user is a member of a non-base overlay group, or a member of both the base and a non-base overlay group.  It returns false if the user is not a member of a non-base overlay group.</P></td></tr><tr><td width="684"><P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">boolean&nbsp;isMemberOfBaseOverlayGroup()</SPAN></P></td><td width="452"><P>Checks if the user is a member of the Base overlay group. Members of the base group cannot perform actions on overlay or custom objects a client can grey out parts of its UI accordingly.</P></td></tr><tr><td width="684"><P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> List<MenuItem> expandMenu(Menu menu, Entry keywordList,			Entry parameterList, int maxRetrieve, OutputInteger nMatches)</SPAN></P></td><td width="452"><P>Expands the query and file references for the specified menu definition and returns a character menu with list-type items only.</P></td></tr></table>
<p class="style2">&nbsp;</p>
<p class="style3">BMC, BMC Software, and the BMC Software logo are the exclusive properties of BMC Software, Inc., 
  are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. 
  All other BMC trademarks, service marks, and logos may be registered or pending registration in the U.S. or in other countries. 
  All other trademarks or registered trademarks are the property of their respective owners.</p>
<p class="style3">DB2 is a registered trademark of International Business Machines Corporation.</p>
<p class="style3">IBM is a registered trademark of International Business Machines Corporation.</p>
<p class="style3">ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office.</p>
<p class="style3">Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.</p>
<p class="style3">Oracle is a registered trademark of Oracle Corporation.</p>
<p class="style3">UNIX is a registered trademark of The Open Group.</p>
<p class="style3">BMC Software considers information included in this documentation to be proprietary and confidential. 
Your use of this information is subject to the terms and conditions of the applicable End User License Agreement 
for the product and the proprietary and restricted rights notices included in this documentation.</p>
</body>
</html>
